package com.king.designpatterns.行为模式.备忘录模式;

import java.util.LinkedList;

/**
 * 负责人 - 版本控制系统
 *
 * @author king
 * @date 2021-06-11 10:36
 */
public class VersionControlSystem {
    /**
     * 所有备份
     */
    LinkedList<Backup> backups = new LinkedList<>();
    int nextVersion;

    /**
     * 添加备份
     */
    public void add(Backup backup){
        backup.version = ++nextVersion;
        backups.add(backup);
    }

    /**
     * 取得某个版本的备份
     */
    public Backup get(int version){
        for (Backup backup : backups) {
            if (version == backup.version){
                return backup;
            }
        }
        return null;
    }

    /**
     * 取得最后一个版本的备份
     */
    public Backup getLastVersion() {
        return backups.getLast();
    }
}
